簡介
EDA技術是指以計算機為工作平台,融合了套用電子技術、計算機技術、信息處理及智慧型化技術的最新成果,進行電子產品的自動設計。
利用EDA工具,電子設計師可以從概念、算法、協定等開始設計電子系統,大量工作可以通過計算機完成,並可以將電子產品從電路設計、性能分析到設計出IC版圖或PCB版圖的整個過程的計算機上自動處理完成。
EDA的概念範疇很寬。包括在機械、電子、通信、航空航天、化工、礦產、生物、醫學、軍事等各個領域,都有EDA的套用。目前EDA技術已在各大公司、企事業單位和科研教學部門廣泛使用。例如在飛機製造過程中,從設計、性能測試及特性分析直到飛行模擬,都可能涉及到EDA技術。
EDA設計可分為系統級、電路級和物理實現級。
歷史發展
在電子設計自動化(英語:Electronic design automation,縮寫:EDA)出現之前,設計人員必須手工完成積體電路的設計、布線等工作,這是因為當時積體電路的複雜程度遠不及現在,工業界使用幾何學方法來製造用於電路光繪(photoplotter)的膠帶。到了1970年代中期,開發人員嘗試將整個設計過程自動化,而不僅僅滿足於自動完成掩膜草圖。第一個電路布線、布局工具研發成功。設計自動化會議(Design Automation Conference)在這一時期被創立,旨在促進電子設計自動化的發展。
電子設計自動化發展的下一個重要階段以卡弗爾·米德(Carver Mead)和琳·康維於1980年發表的論文《超大規模積體電路系統導論》(Introduction to VLSI Systems)為標誌。這一篇具有重大意義的論文提出了通過程式語言來進行晶片設計的新思想。如果這一想法得到實現,晶片設計的複雜程度可以得到顯著提升。這主要得益於用來進行積體電路邏輯仿真、功能驗證的工具的性能得到相當的改善。隨著計算機仿真技術的發展,設計項目可以在構建實際硬體電路之前進行仿真,晶片布線布局對人工設計的要求降低,而且軟體錯誤率不斷降低。直至今日,儘管所用的語言和工具仍然不斷在發展,但是通過程式語言來設計、驗證電路預期行為,利用工具軟體綜合得到低抽象級物理設計的這種途徑,仍然是數字積體電路設計的基礎。
從1981年開始,電子設計自動化逐漸開始商業化。1984年的設計自動化會議(Design Automation Conference)上還舉辦了第一個以電子設計自動化為主題的銷售展覽。Gateway設計自動化在1986年推出了一種硬體描述語言Verilog,這種語言在現在是最流行的高級抽象設計語言。1987年,在美國國防部的資助下,另一種硬體描述語言VHDL被創造出來。現代的電子設計自動化工具可以識別、讀取不同類型的硬體描述。根據這些語言規範產生的各種仿真系統迅速被推出,使得設計人員可對設計的晶片進行直接仿真。後來,技術的發展更側重於邏輯綜合。
目前的數字積體電路的設計都比較模組化(參見積體電路設計、設計收斂(Design closure)和設計流(Design flow (EDA)))。半導體器件製造工藝需要標準化的設計描述,高抽象級的描述將被編譯為信息單元(cell)的形式。設計人員在進行邏輯設計時無需考慮信息單元的具體硬體工藝。利用特定的積體電路製造工藝來實現硬體電路,信息單元就會實施預定義的邏輯或其他電子功能。半導體硬體廠商大多會為它們製造的元件提供“元件庫”,並提供相應的標準化仿真模型。相比數字的電子設計自動化工具,模擬系統的電子設計自動化工具大多並非模組化的,這是因為模擬電路的功能更加複雜,而且不同部分的相互影響較強,而且作用規律複雜,電子元件大多沒有那么理想。Verilog AMS就是一種用於模擬電子設計的硬體描述語言。此外,設計人員可以使用硬體驗證語言來完成項目的驗證工作目前最新的發展趨勢是將集描述語言、驗證語言集成為一體,典型的例子有SystemVerilog。
隨著積體電路規模的擴大、半導體技術的發展,電子設計自動化的重要性急劇增加。這些工具的使用者包括半導體器件製造中心的硬體技術人員,他們的工作是操作半導體器件製造設備並管理整個工作車間。一些以設計為主要業務的公司,也會使用電子設計自動化軟體來評估製造部門是否能夠適應新的設計任務。電子設計自動化工具還被用來將設計的功能導入到類似現場可程式邏輯門陣列的半定製可程式邏輯器件,或者生產全定製的專用積體電路。
設計流程
(1) 前端設計(系統建模RTL 級描述)後端設計(FPGAASIC)系統建模。
(2)IP復用。
(3) 後端設計。
(4) 系統描述:建立系統的數學模型。
(5) 功能描述:描述系統的行為或各子模組之間的數據流圖。
(6)邏輯設計:將系統功能結構化,通常以文本、原理圖、邏輯圖、布爾表達式來表示設計結果。
(7) 仿真:包括功能仿真和時序仿真,主要驗證系統功能的正確性及時序特性。
工具軟體
EDA工具軟體可大致可分為晶片設計輔助軟體、可程式晶片輔助設計軟體、系統設計輔助軟體等三類。
目前進入我國並具有廣泛影響的EDA軟體是系統設計輔助類軟體和可程式晶片輔助設計軟體:Protel、Altium Designer、PSPICE、multisim12(原EWB的最新版本)、OrCAD、PCAD、LSIIogic、MicroSim、ISE、modelsim、Matlab等等。這些工具都有較強的功能,一般可用於幾個方面,例如很多軟體都可以進行電路設計與仿真,同時還可以進行PCB自動布局布線,可輸出多種網表檔案與第三方軟體接口。
下面按主要功能或主要套用場合,分為電路設計與仿真工具、PCB設計軟體、IC設計軟體、PLD設計工具及其它EDA軟體,進行簡單介紹。
電子電路設計與仿真工具
電子電路設計與仿真工具包括SPICE/PSPICE;multiSIM7;Matlab;SystemView;MMICAD LiveWire、Edison、Tina Pro Bright Spark等。下面簡單介紹前三個軟體。
①SPICE(Simulation Program with Integrated Circuit Emphasis)
這是由美國加州大學推出的電路分析仿真軟體,是20世紀80年代世界上套用最廣的電路設計軟體,1998年被定為美國國家標準。1984年,美國MicroSim公司推出了基於SPICE的微機版PSPICE(Personal-SPICE)。現在用得較多的是PSPICE6.2,可以說在同類產品中,它是功能最為強大的模擬和數字電路混合仿真EDA軟體,在國內普遍使用。最新推出了PSPICE9.1版本。它可以進行各種各樣的電路仿真、激勵建立、溫度與噪聲分析、模擬控制、波形輸出、數據輸出、並在同一視窗內同時顯示模擬與數字的仿真結果。無論對哪種器件哪些電路進行仿真,都可以得到精確的仿真結果,並可以自行建立元器件及元器件庫。
②Multisim(EWB的最新版本)軟體
這是Interactive Image Technologies Ltd在20世紀末推出的電路仿真軟體。其最新版本為multiSIM13,目前普遍使用的是multiSIM2001,相對於其它EDA軟體,它具有更加形象直觀的人機互動界面,特別是其儀器儀表庫中的各儀器儀表與操作真實實驗中的實際儀器儀表完全沒有兩樣,但它對模數電路的混合仿真功能卻毫不遜色,幾乎能夠100%地仿真出真實電路的結果,並且它在儀器儀表庫中還提供了萬用表、信號發生器、瓦特表、雙蹤示波器(對於multiSIM7還具有四蹤示波器)、波特儀(相當實際中的掃頻儀)、字信號發生器、邏輯分析儀、邏輯轉換儀、失真度分析儀、頻譜分析儀、網路分析儀和電壓表及電流表等儀器儀表。還提供了我們日常常見的各種建模精確的元器件,比如電阻、電容、電感、三極體、二極體、繼電器、可控矽、數碼管等等。模擬積體電路方面有各種運算放大器、其他常用積體電路。數字電路方面有74系列積體電路、4000系列積體電路、等等還支持自製元器件。MultiSIM7還具有I-V分析儀(相當於真實環境中的電晶體特性圖示儀)和Agilent信號發生器、Agilent萬用表、Agilent示波器和動態邏輯平筆等。同時它還能進行VHDL仿真和Verilog HDL仿真。
③MATLAB產品族
它們的一大特性是有眾多的面向具體套用的工具箱和仿真塊,包含了完整的函式集用來對圖像信號處理、控制系統設計、神經網路等特殊套用進行分析和設計。它具有數據採集、報告生成和MATLAB語言編程產生獨立C/C++代碼等功能。MATLAB產品族具有下列功能:數據分析;數值和符號計算、工程與科學繪圖;控制系統設計;數字圖像信號處理;財務工程;建模、仿真、原型開發;套用開發;圖形用戶界面設計等。MATLAB產品族被廣泛套用於信號與圖像處理、控制系統設計、通訊系統仿真等諸多領域。開放式的結構使MATLAB產品族很容易針對特定的需求進行擴充,從而在不斷深化對問題的認識同時,提高自身的競爭力。
PCB設計軟體
PCB(Printed-Circuit Board)設計軟體種類很多,如Protel、Altium Designer、OrCAD、Viewlogic、PowerPCB、Cadence PSD、MentorGraphices的Expedition PCB、Zuken CadStart、Winboard/Windraft/Ivex-SPICE、PCB Studio、TANGO、PCBWizard(與LiveWire配套的PCB製作軟體包)、ultiBOARD7(與multiSIM2001配套的PCB製作軟體包)等等。
目前在我國用得最多當屬Protel,下面僅對此軟體作一介紹。
Protel是PROTEL(現為Altium)公司在20世紀80年代末推出的CAD工具,是PCB設計者的首選軟體。它較早在國內使用,普及率最高,在很多的大、中專院校的電路專業還專門開設Protel課程,幾乎所在的電路公司都要用到它。早期的Protel主要作為印刷板自動布線工具使用,其最新版本為Altium Designer 10,現在普遍使用的是Protel99SE,它是個完整的全方位電路設計系統,包含了電原理圖繪製、模擬電路與數字電路混合信號仿真、多層印刷電路板設計(包含印刷電路板自動布局布線),可程式邏輯器件設計、圖表生成、電路表格生成、支持宏操作等功能,並具有Client/Server(客戶/服務體系結構), 同時還兼容一些其它設計軟體的檔案格式,如ORCAD、PSPICE、EXCEL等。使用多層印製線路板的自動布線,可實現高密度PCB的100%布通率。Protel軟體功能強大(同時具有電路仿真功能和PLD開發功能)、界面友好、使用方便,但它最具代表性的是電路設計和PCB設計。
IC設計軟體
IC設計工具很多,其中按市場所占份額排行為Cadence、Mentor Graphics和Synopsys。這三家都是ASIC設計領域相當有名的軟體供應商。其它公司的軟體相對來說使用者較少。中國華大公司也提供ASIC設計軟體(熊貓2000);另外近來出名的Avanti公司,是原來在Cadence的幾個華人工程師創立的,他們的設計工具可以全面和Cadence公司的工具相抗衡,非常適用於深亞微米的IC設計。下面按用途對IC設計軟體作一些介紹。
①設計輸入工具
這是任何一種EDA軟體必須具備的基本功能。像Cadence的composer,viewlogic的viewdraw,硬體描述語言VHDL、Verilog HDL是主要設計語言,許多設計輸入工具都支持HDL(比如說multiSIM等)。另外像Active-HDL和其它的設計輸入方法,包括原理和狀態機輸入方法,設計FPGA/CPLD的工具大都可作為IC設計的輸入手段,如Xilinx、Altera等公司提供的開發工具Modelsim FPGA等。
②設計仿真工作
我們使用EDA工具的一個最大好處是可以驗證設計是否正確,幾乎每個公司的EDA產品都有仿真工具。Verilog-XL、NC-verilog用於Verilog仿真,Leapfrog用於VHDL仿真,Analog Artist用於模擬電路仿真。Viewlogic的仿真器有:viewsim門級電路仿真器,speedwaveVHDL仿真器,VCS-verilog仿真器。Mentor Graphics有其子公司Model Tech出品的VHDL和Verilog雙仿真器:Model Sim。Cadence、Synopsys用的是VSS(VHDL仿真器)。現在的趨勢是各大EDA公司都逐漸用HDL仿真器作為電路驗證的工具。
③綜合工具
綜合工具可以把HDL變成門級網表。這方面Synopsys工具占有較大的優勢,它的Design Compile是作為一個綜合的工業標準,它還有另外一個產品叫Behavior Compiler,可以提供更高級的綜合。
另外最近美國又出了一個軟體叫Ambit,據說比Synopsys的軟體更有效,可以綜合50萬門的電路,速度更快。今年初Ambit被Cadence公司收購,為此Cadence放棄了它原來的綜合軟體Synergy。隨著FPGA設計的規模越來越大,各EDA公司又開發了用於FPGA設計的綜合軟體,比較有名的有:Synopsys的FPGA Express, Cadence的Synplity, Mentor的Leonardo,這三家的FPGA綜合軟體占了市場的絕大部分。
④布局和布線
在IC設計的布局布線工具中,Cadence軟體是比較強的,它有很多產品,用於標準單元、門陣列已可實現互動布線。最有名的是Cadence spectra,它原來是用於PCB布線的,後來Cadence把它用來作IC的布線。其主要工具有:Cell3,Silicon Ensemble-標準單元布線器;Gate Ensemble-門陣列布線器;Design Planner-布局工具。其它各EDA軟體開發公司也提供各自的布局布線工具。
⑤物理驗證工具
物理驗證工具包括版圖設計工具、版圖驗證工具、版圖提取工具等等。這方面Cadence也是很強的,其Dracula、Virtuso、Vampire等物理工具有很多的使用者。
⑥模擬電路仿真器
前面講的仿真器主要是針對數字電路的,對於模擬電路的仿真工具,普遍使用SPICE,這是唯一的選擇。只不過是選擇不同公司的SPICE,像MiceoSim的PSPICE、Meta Soft的HSPICE等等。HSPICE現在被Avanti公司收購了。在眾多的SPICE中,HSPICE作為IC設計,其模型多,仿真的精度也高。
PLD設計工具
PLD(Programmable Logic Device)是一種由用戶根據需要而自行構造邏輯功能的數字積體電路。目前主要有兩大類型:CPLD(Complex PLD)和FPGA(Field Programmable Gate Array)。它們的基本設計方法是藉助於EDA軟體,用原理圖、狀態機、布爾表達式、硬體描述語言等方法,生成相應的目標檔案,最後用編程器或下載電纜,由目標器件實現。生產PLD的廠家很多,但最有代表性的PLD廠家為Altera、Xilinx和Lattice公司。
PLD的開發工具一般由器件生產廠家提供,但隨著器件規模的不斷增加,軟體的複雜性也隨之提高,目前由專門的軟體公司與器件生產廠家使用,推出功能強大的設計軟體。下面介紹主要器件生產廠家和開發工具。
①ALTERA
20世紀90年代以後發展很快。主要產品有:MAX3000/7000、FELX6K/10K、APEX20K、ACEX1K、Stratix等。其開發工具-MAX+PLUS II是較成功的PLD開發平台,最新又推出了Quartus II開發軟體。Altera公司提供較多形式的設計輸入手段,綁定第三方VHDL綜合工具,如:綜合軟體FPGA Express、Leonard Spectrum,仿真軟體ModelSim。
②XILINX
FPGA的發明者。產品種類較全,主要有:XC9500/4000、Coolrunner(XPLA3)、Spartan、Vertex等系列,其最大的Vertex-II Pro器件已達到800萬門。開發軟體為Foundation和ISE。通常來說,在歐洲用Xilinx的人多,在日本和亞太地區用ALTERA的人多,在美國則是平分秋色。全球PLD/FPGA產品60%以上是由Altera和Xilinx提供的。可以講Altera和Xilinx共同決定了PLD技術的發展方向。
③Lattice-Vantis
Lattice是ISP(In-System Programmability)技術的發明者。ISP技術極大地促進了PLD產品的發展,與ALTERA和XILINX相比,其開發工具比Altera和Xilinx略遜一籌。中小規模PLD比較有特色,大規模PLD的競爭力還不夠強(Lattice沒有基於查找表技術的大規模FPGA),1999年推出可程式模擬器件,1999年收購Vantis(原AMD子公司),成為第三大可程式邏輯器件供應商。2001年12月收購Agere公司(原Lucent微電子部)的FPGA部門。主要產品有ispLSI2000/5000/8000,MACH4/5。
④ACTEL
反熔絲(一次性燒寫)PLD的領導者。由於反熔絲PLD抗輻射、耐高低溫、功耗低、速度快,所以在軍品和宇航級上有較大優勢。ALTERA和XILINX則一般不涉足軍品和宇航級市場。
⑤Quicklogic
專業PLD/FPGA公司,以一次性反熔絲工藝為主,在中國地區銷售量不大。
⑥Lucent
主要特點是有不少用於通訊領域的專用IP核,但PLD/FPGA不是Lucent的主要業務,在中國地區使用的人很少。
⑦ATMEL
中小規模PLD做得不錯。ATMEL也做了一些與Altera和Xilinx兼容的片子,但在品質上與原廠家還是有一些差距,在高可靠性產品中使用較少,多用在低端產品上。
⑧Clear Logic
生產與一些著名PLD/FPGA大公司兼容的晶片,這種晶片可將用戶的設計一次性固化,不可程式,批量生產時的成本較低。
⑨WSI
生產PSD(單片機可程式外圍晶片)產品。這是一種特殊的PLD,如最新的PSD8xx、PSD9xx集成了PLD、EPROM、Flash,並支持ISP(線上編程),集成度高,主要用於配合單片機工作。
⑦Altium:提供Actel、Altera、Lattice和Xilinx四家PLD/FPGA器件的通用跨廠商開發平台,最新推出了Altium Designer 10軟體中集成了Aldec HDL仿真功能。
順便提一下:PLD(可程式邏輯器件)是一種可以完全替代74系列及GAL、PLA的新型電路,只要有數字電路基礎,會使用計算機,就可以進行PLD的開發。PLD的線上編程能力和強大的開發軟體,使工程師可以幾天,甚至幾分鐘內就可完成以往幾周才能完成的工作,並可將數百萬門的複雜設計集成在一顆晶片內。PLD技術在已開發國家已成為電子工程師必備的技術。
其它EDA軟體
①VHDL語言:超高速積體電路硬體描述語言(VHSIC Hardware Description Language,簡稱VHDL),是IEEE的一項標準設計語言。它源於美國國防部提出的超高速積體電路(Very High Speed Integrated Circuit,簡稱VHSIC)計畫,是ASIC設計和PLD設計的一種主要輸入工具。
②Verilog HDL:是Verilog公司推出的硬體描述語言,在ASIC設計方面與VHDL語言平分秋色。
③其它EDA軟體如專門用於微波電路設計和電力載波工具、PCB製作和工藝流程控制等領域的工具,在此就不作介紹了。
EDA的套用
EDA在教學、科研、產品設計與製造等各方面都發揮著巨大的作用。在教學方面,幾乎所有理工科(特別是電子信息)類的高校都開設了EDA課程。主要是讓學生了解EDA的基本概念和基本原理、掌握用HDL語言編寫規範、掌握邏輯綜合的理論和算法、使用EDA工具進行電子電路課程的實驗驗證並從事簡單系統的設計。一般學習電路仿真工具(如multiSIM、PSPICE)和PLD開發工具(如Altera/Xilinx的器件結構及開發系統),為今後工作打下基礎。
科研方面主要利用電路仿真工具(multiSIM或PSPICE)進行電路設計與仿真;利用虛擬儀器進行產品測試;將CPLD/FPGA器件實際套用到儀器設備中;從事PCB設計和ASIC設計等。
在產品設計與製造方面,包括計算機仿真,產品開發中的EDA工具套用、系統級模擬及測試環境的仿真,生產流水線的EDA技術套用、產品測試等各個環節。如PCB的製作、電子設備的研製與生產、電路板的焊接、ASIC的製作過程等。
從套用領域來看,EDA技術已經滲透到各行各業,如上文所說,包括在機械、電子、通信、航空航航天、化工、礦產、生物、醫學、軍事等各個領域,都有EDA套用。另外,EDA軟體的功能日益強大,原來功能比較單一的軟體,現在增加了很多新用途。如AutoCAD軟體可用於機械及建築設計,也擴展到建築裝璜及各類效果圖、汽車和飛機的模型、電影特技等領域。
發展趨勢
從目前的EDA技術來看,其發展趨勢是政府重視、使用普及、套用廣泛、工具多樣、軟體功能強大。
中國EDA市場已漸趨成熟,不過大部分設計工程師面向的是PCB制板和小型ASIC領域,僅有小部分(約11%)的設計人員開發複雜的片上系統器件。為了與台灣和美國的設計工程師形成更有力的競爭,中國的設計隊伍有必要引進和學習一些最新的EDA技術。
在信息通信領域,要優先發展高速寬頻信息網、深亞微米積體電路、新型元器件、計算機及軟體技術、第三代移動通信技術、信息管理、信息安全技術,積極開拓以數位技術、網路技術為基礎的新一代信息產品,發展新興產業,培育新的經濟成長點。要大力推進制造業信息化,積極開展計算機輔助設計(CAD)、計算機輔助工程(CAE)、計算機輔助工藝(CAPP)、計算機機輔助製造(CAM)、產品數據管理(PDM)、製造資源計畫(MRPII)及企業資源管理(ERP)等。有條件的企業可開展“網路製造”,便於合作設計、合作製造,參與國內和國際競爭。開展“數控化”工程和“數位化”工程。自動化儀表的技術發展趨勢的測試技術、控制技術與計算機技術、通信技術進一步融合,形成測量、控制、通信與計算機(M3C)結構。在ASIC和PLD設計方面,向超高速、高密度、低功耗、低電壓方面發展。
外設技術與EDA工程相結合的市場前景看好,如組合超大螢幕的相關連線,多螢幕技術也有所發展。
中國自1995年以來加速開發半導體產業,先後建立了幾所設計中心,推動系列設計活動以應對亞太地區其它EDA市場的競爭。
在EDA軟體開發方面,目前主要集中在美國。但各國也正在努力開發相應的工具。日本、韓國都有ASIC設計工具,但不對外開放。中國華大積體電路設計中心,也提供IC設計軟體,但性能不是很強。相信在不久的將來會有更多更好的設計工具在各地開花並結果。據最新統計顯示,中國和印度正在成為電子設計自動化領域發展最快的兩個市場,年複合增長率分別達到了50%和30%。
與ASIC設計和FPGA開發關係
利用EDA技術進行電子系統設計的最後目標是完成專用積體電路ASIC的設計和實現;FPGA和CPLD是實現這一途徑的主流器件。FPGA和CPLD通常也被稱為可程式專用IC,或可程式ASIC。FPGA和CPLD的套用是EDA技術有機融合軟硬體電子設計技術、SoC(片上系統)和ASIC設計,以及對自動設計與自動實現最典型的詮釋。